--[[
打开APP并等待模块
功能：打开指定APP并等待其启动完成
参数：
  等待时间 - 等待时间，单位秒，默认5秒
返回值：true表示成功，false表示失败
--]]

-- 导入依赖
local node_config = require("node_config")

-- 打开APP并等待启动
local function 打开APP并等待(等待时间)
    等待时间 = 等待时间 or 5  -- 默认等待5秒
    
    -- 首先通过倍速节点检查是否已进入视频界面
    if _G.检查视频界面() then
        _G.调试输出("已检测到视频播放界面，APP已正常启动")
        return true
    end
    
    -- 再检查APP是否已启动（通过首页选项卡）
    if _G.检查APP已启动() then
        _G.调试输出("APP已在运行中，无需启动")
        return true
    end
    
    _G.调试输出("正在打开APP: " .. node_config.APP包名)
    runApp(node_config.APP包名)
    
    -- 尝试最多10次检查APP界面（每次等待0.5秒）
    local 最大尝试次数 = 10
    for i = 1, 最大尝试次数 do
        sleep(500)  -- 等待0.5秒再检查
        _G.调试输出("检查APP界面，尝试次数: " .. i)
        
        -- 首先检查视频界面
        if _G.检查视频界面() then
            _G.调试输出("已检测到视频播放界面，APP启动成功")
            return true
        end
        
        -- 再检查首页
        if _G.检查APP已启动() then
            _G.调试输出("APP已成功启动并进入界面")
            return true
        end
    end
    
    -- 如果检查超时，再等待一段时间
    _G.调试输出("未检测到APP界面，等待" .. 等待时间 .. "秒")
    sleep(等待时间 * 1000)
    
    _G.调试输出("APP启动流程完成")
    return true
end

return 打开APP并等待 